package com.jumi.microservice.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jumi.microservice.common.base.AbstractObject;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Objects;

/**
 * 商品sku表
 *
 * @author Administrator
 */
@TableName("commodity_goods_sku")
@ApiModel(value="GoodsSku对象", description="商品表")
public class GoodsSkuDO extends AbstractObject implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "商品id(SKU)")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "商品sku编码")
    private String skuCode;

    @ApiModelProperty(value = "第三方商品sku编码")
    private String skuThirdPartyCode;

    @ApiModelProperty(value = "商品公共表id")
    private Long goodsId;

    @ApiModelProperty(value = "物料的商品skuid")
    private Long materialSkuId;

    @ApiModelProperty(value = "物料的商品sku编码")
    private String materialSkuCode;

    @ApiModelProperty(value = "物料的商品分类ID")
    private Long cateId;

    @ApiModelProperty(value = "商品名称（+规格名称）")
    private String goodsName;

    @ApiModelProperty(value = "商品价格")
    private BigDecimal goodsPrice;

    @ApiModelProperty(value = "商品促销价格")
    private BigDecimal goodsPromotionPrice;

    @ApiModelProperty(value = "白金会员")
    private BigDecimal platinumPrice;

    @ApiModelProperty(value = "钻石会员")
    private BigDecimal diamondsPrice;

    @ApiModelProperty(value = "皇冠会员")
    private BigDecimal kingPrice;

    @ApiModelProperty(value = "服务费")
    private BigDecimal getOrderPrice;

    @ApiModelProperty(value = "商品重量(KG)")
    private BigDecimal weight;

    @ApiModelProperty(value = "保质期(天)")
    private Integer qualityTime;

    @ApiModelProperty(value = "市场价")
    private BigDecimal goodsMarketprice;

    @ApiModelProperty(value = "sku成本价")
    private BigDecimal goodsCostprice;

    @ApiModelProperty(value = "商品主图")
    private String goodsImage;

    @ApiModelProperty(value = "属性图片")
    private String goodsPropertyImage;

    @ApiModelProperty(value = "商品条形码")
    private String goodsBarcode;

    @ApiModelProperty(value = "虚拟销量")
    private Integer virtualNum;

    @ApiModelProperty(value = "供应商ID")
    private Long supplyId;

    @ApiModelProperty(value = "库存预警值")
    private Integer alertStorage;

    @ApiModelProperty(value = "供应商名称")
    private String supplier;

    @ApiModelProperty(value = "是否删除(0:否,1:是)")
    private Integer isDel;

    @ApiModelProperty(value = "添加人")
    private String creater;

    @ApiModelProperty(value = "添加时间")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "修改人")
    private String modifier;

    @ApiModelProperty(value = "修改时间")
    private LocalDateTime updateTime;

    @ApiModelProperty("属性名称")
    private String specName;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getGoodsId() {
        return goodsId;
    }

    public void setGoodsId(Long goodsId) {
        this.goodsId = goodsId;
    }


    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    public BigDecimal getGoodsPrice() {
        return goodsPrice;
    }

    public void setGoodsPrice(BigDecimal goodsPrice) {
        this.goodsPrice = goodsPrice;
    }

    public BigDecimal getGoodsPromotionPrice() {
        return goodsPromotionPrice;
    }

    public void setGoodsPromotionPrice(BigDecimal goodsPromotionPrice) {
        this.goodsPromotionPrice = goodsPromotionPrice;
    }

    public BigDecimal getPlatinumPrice() {
        return platinumPrice;
    }

    public void setPlatinumPrice(BigDecimal platinumPrice) {
        this.platinumPrice = platinumPrice;
    }

    public BigDecimal getDiamondsPrice() {
        return diamondsPrice;
    }

    public void setDiamondsPrice(BigDecimal diamondsPrice) {
        this.diamondsPrice = diamondsPrice;
    }

    public BigDecimal getKingPrice() {
        return kingPrice;
    }

    public void setKingPrice(BigDecimal kingPrice) {
        this.kingPrice = kingPrice;
    }

    public BigDecimal getGetOrderPrice() {
        return getOrderPrice;
    }

    public void setGetOrderPrice(BigDecimal getOrderPrice) {
        this.getOrderPrice = getOrderPrice;
    }

    public BigDecimal getWeight() {
        return weight;
    }

    public void setWeight(BigDecimal weight) {
        this.weight = weight;
    }

    public Integer getQualityTime() {
        return qualityTime;
    }

    public void setQualityTime(Integer qualityTime) {
        this.qualityTime = qualityTime;
    }

    public BigDecimal getGoodsMarketprice() {
        return goodsMarketprice;
    }

    public void setGoodsMarketprice(BigDecimal goodsMarketprice) {
        this.goodsMarketprice = goodsMarketprice;
    }

    public BigDecimal getGoodsCostprice() {
        return goodsCostprice;
    }

    public void setGoodsCostprice(BigDecimal goodsCostprice) {
        this.goodsCostprice = goodsCostprice;
    }

    public String getGoodsImage() {
        return goodsImage;
    }

    public void setGoodsImage(String goodsImage) {
        this.goodsImage = goodsImage;
    }

    public String getGoodsBarcode() {
        return goodsBarcode;
    }

    public void setGoodsBarcode(String goodsBarcode) {
        this.goodsBarcode = goodsBarcode;
    }

    public Integer getVirtualNum() {
        return virtualNum;
    }

    public void setVirtualNum(Integer virtualNum) {
        this.virtualNum = virtualNum;
    }

    public String getCreater() {
        return creater;
    }

    public void setCreater(String creater) {
        this.creater = creater;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public String getModifier() {
        return modifier;
    }

    public void setModifier(String modifier) {
        this.modifier = modifier;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getIsDel() {
        return isDel;
    }

    public void setIsDel(Integer isDel) {
        this.isDel = isDel;
    }



    public String getSkuCode() {
        return skuCode;
    }

    public void setSkuCode(String skuCode) {
        this.skuCode = skuCode;
    }

    public String getSkuThirdPartyCode() {
        return skuThirdPartyCode;
    }

    public void setSkuThirdPartyCode(String skuThirdPartyCode) {
        this.skuThirdPartyCode = skuThirdPartyCode;
    }

    public String getSupplier() {
        return supplier;
    }

    public void setSupplier(String supplier) {
        this.supplier = supplier;
    }

    public Long getSupplyId() {
        return supplyId;
    }

    public void setSupplyId(Long supplyId) {
        this.supplyId = supplyId;
    }

    public String getGoodsPropertyImage() {
        return goodsPropertyImage;
    }

    public void setGoodsPropertyImage(String goodsPropertyImage) {
        this.goodsPropertyImage = goodsPropertyImage;
    }

    public Integer getAlertStorage() {
        return alertStorage;
    }

    public void setAlertStorage(Integer alertStorage) {
        this.alertStorage = alertStorage;
    }



    public Long getCateId() {
        return cateId;
    }

    public void setCateId(Long cateId) {
        this.cateId = cateId;
    }

    public String getSpecName() {
        return specName;
    }

    public void setSpecName(String specName) {
        this.specName = specName;
    }

    public Long getMaterialSkuId() {
        return materialSkuId;
    }

    public void setMaterialSkuId(Long materialSkuId) {
        this.materialSkuId = materialSkuId;
    }

    public String getMaterialSkuCode() {
        return materialSkuCode;
    }

    public void setMaterialSkuCode(String materialSkuCode) {
        this.materialSkuCode = materialSkuCode;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        GoodsSkuDO goodsSku = (GoodsSkuDO) o;
        return id.equals(goodsSku.id);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id);
    }
}
